package AccionesSemanticas;
import Elementos.Token;
import Lexico.AnalizadorLexico;

//Procesa un operador de un solo caracter, verifica cual es y devuelve su token

public class AccS8 extends AccionSemantica {

	public AccS8(AnalizadorLexico al) {
		super(al);
	}

	@Override
	public int ejecutar(String actual, String leido) {
		Token devolver = null;
        switch (leido) {
            case "+":
            	devolver = new Token("suma", Token.SUMA, Token.SUMA);
                break;
            case "-":
            	devolver = new Token("resta", Token.RESTA, Token.RESTA);
                break;
            case "*":
            	devolver = new Token("producto", Token.MULTIPLICACION, Token.MULTIPLICACION);
                break;
            case "/":
            	devolver = new Token("division", Token.DIVISION, Token.DIVISION);
                break;
            case ")":
            	devolver = new Token("cierraparentesis", Token.CIERRAPARENTESIS, Token.CIERRAPARENTESIS);
                break;
            case ",":
            	devolver = new Token("coma", Token.COMA, Token.COMA);
                break;
            case ";":
            	devolver = new Token("puntoycoma", Token.PUNTOYCOMA, Token.PUNTOYCOMA);
                break;
            case "{":
            	devolver = new Token("abrellave", Token.ABRELLAVE, Token.ABRELLAVE);
                break;
            case "}":
            	devolver = new Token("cierrallave", Token.CIERRALLAVE, Token.CIERRALLAVE);
                break;    
        }	
		this.aLexico.setTokenActual(devolver);
		return 0;
	}

}
